From: Maksim Mazko Date: Fri, 6 Mar 2026 13:20:10 +0000 (+0300) Subject: status/keyboard: Simplify MRU list updates X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~28^2~4^2^2~2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=e9ed2c2c495238242e80cbacda5050a061a2b170;p=gnome-shell.git status/keyboard: Simplify MRU list updates Rewrite the update logic to a more direct form, improving readability by removing the manual iteration and list manipulation. Part-of: (cherry picked from commit fcba3bd44ec0362a26f456ff1ba2321d6b16594c) --- diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js index 96f0dff0f..81e2d5daf 100644 --- a/js/ui/status/keyboard.js +++ b/js/ui/status/keyboard.js @@ -487,13 +487,11 @@ export class InputSourceManager extends Signals.EventEmitter { this.emit('current-source-changed', oldSource); - for (let i = 1; i < this._mruSources.length; ++i) { - if (this._mruSources[i] === newSource) { - let currentSource = this._mruSources.splice(i, 1); - this._mruSources = currentSource.concat(this._mruSources); - break; - } - } + this._mruSources = [ + newSource, + ...this._mruSources.filter(s => s !== newSource), + ]; + this._changePerWindowSource(); }